//
// Created by sjjmw on 3/24/2022.
//
#include "iostream"
#include "vector"
#include "list"
#include "algorithm"
#include "string"
#include "unordered_map"
#include "cmath"
#include<iomanip>
#include "string"
#include "map"
#include "list"
struct Stu{
    int id;
    std::string name;
    std::string sex;
};
struct Sol{
    std::unordered_map<int,Stu> id_2_stu;
    std::unordered_map<std::string,int> name_2_id;
    std::string get_sex(){

        int id;std::cin>>id;
        if(std::cin.fail()){
            std::cin.clear();

            std::string name;
            std::cin>>name;

            return id_2_stu[name_2_id[name]].sex;
        }else{
            return id_2_stu[id].sex;
        }
    }
    void handle(int n){
        for(int i=0;i<n;i++){
            Stu s;
            std::cin>>s.name>>s.id>>s.sex;
            id_2_stu[s.id]=s;
            name_2_id[s.name]=s.id;
        }
        std::cin>>n;
        for(int i=0;i<n;i++){
            std::string sex1=get_sex();
            std::string sex2=get_sex();
            if(sex1==sex2){
                printf("N");
            }else{
                printf("Y");
            }
            printf("\n");
        }
    }
};
int main(){
    int a,b,c;
    while(std::cin>>a){
        Sol().handle(a);
    }

    return 0;
}